The invention pertains to digital image acquisition and, more particularly, to the high-speed formation of images from non-interleaved pixel data generated by video cameras and other image acquisition devices.
Digital images are usually stored, processed and displayed as pixel arrays grouped in rows and columns, generally, like the scenes that they represent. It would seem that video cameras and similar devices that generate those images must capture them in the same arrangement. That is often not the case.
Though the devices do generate images one row at a time, they do not generate them in contiguous order. Instead, they supply them in "non-interleaved form," generating odd-numbered rows (e.g., 1, 3, 5, . . . 479) in one batch, which is referred to as "field zero," and even-numbered rows (2,4,6 . . . 480) in another batch, which is referred to as "field one."
The fact that the pixel data is supplied in non-interleaved form presents a problem to designers of "frame grabbers" and other such specialized electronic circuits that transfer the data for storage, processing or display: the images must be reconstructed by interleaving the fields received from the acquisition devices. Thus, row one (from field 0) must be arranged before row two (from field 1); row three (from field 0), before row four (from field 1); and so on.
The timing of the acquisition devices presents an additional problem. Video cameras typically "march to their own drummers" and, more technically, to their own internal timing circuits. Once activated, the cameras generate an endless stream of pixels, one field at a time, synchronized with that timing. Frame grabbers, on the other hand, usually operate under the control of timing signals defined by the host computers to which they are attached. Rarely, does the timing of the camera circuitry match that of the host computer and frame grabber.
Accordingly, when a frame grabber begins capturing pixel data from a camera, typically, in response to a command issued by the host computer, neither the host nor the frame grabber knows which field the camera will be generating. Thus, the frame grabber must have the flexibity to interleave rows, beginning with pixel data from either field zero or field one.
There are two main approaches to solving these problems in use today. The first has the frame grabber acquiring the fields from the camera, storing them in interleaved format in an "on-board" video memory and, when acquisition is complete, transferring the full image to the host computer. In this configuration, the time required for a frame grabber to acquire both fields from the camera is only about 60 ms, for a 768.times.480 image. However, because of the limited bandwidth of the digital bus through which the frame grabber and host communicate, an additional 4 ms is required to move the interleaved image to the host computer memory. While this may not seem like a large amount of time, it nonetheless prevents the frame grabber from immediately refreshing its on-board buffer with a new image data from the camera. This effectively adds 16.7 ms to the repetitive image acquisition time, i.e., the time required to transfer successive images to the host computer memory. Although this can be improved by addition of a second on-board buffer, that adds to the cost and complexity of the circuitry.
A second pror art approach is to transfer the image data immediately as it is acquired from the camera. The advantage of this is that no additional time (or memory) is necessary for the frame grabber to hold that data while a transfer is on-going to the host computer. A disadvantage is that the host computer itself must interleave the data, thereby, consuming valuable processor and memory cycles. An additional disadvantage is that the host computer bus may be busy when the frame grabber begins a transfer to the host memory. As a result, portions of the image data may be lost. Though this can be remedied through use of a FIFO buffer at the output of the frame grabber, that buffer must be quite large--e.g., large enough to store an entire image--to guarantee against data loss.
In view of the foregoing, an object of the invention is to provide improved methods and apparatus for image acquisition and, more particularly, for forming and storing images from non-interleaved pixel data received from video cameras and other such image acquisition devices.
A related object of the invention is to provide such methods and apparatus as permit the interleaving and transfer of image data with minimal delay.
A still further object of the invention is to provide such method and apparatus as minimally tax host computer resources.
Yet still further aspects of the invention are to provide such methods and apparatus as permit image acquisition for minimum cost and maximum speed.